

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using SpotifyGenNHibernate.EN.Spotify;
using SpotifyGenNHibernate.CAD.Spotify;

namespace SpotifyGenNHibernate.CEN.Spotify
{
        public partial class ColaReproduccionCEN
        {
        private IColaReproduccionCAD _IColaReproduccionCAD;

        public ColaReproduccionCEN(IColaReproduccionCAD _IColaReproduccionCAD)
        {
                this._IColaReproduccionCAD = _IColaReproduccionCAD;
        }

        public int CrearColaReproduccion (int p_NumeroCanciones, System.Collections.Generic.IList<int> p_cancion, String p_usuario)
        {
                ColaReproduccionEN colaReproduccionEN = null;
                int oid;

                //Initialized ColaReproduccionEN
                colaReproduccionEN = new ColaReproduccionEN ();
                colaReproduccionEN.NumeroCanciones = p_NumeroCanciones;
                if (p_cancion != null) {
                        colaReproduccionEN.Cancion = new System.Collections.Generic.List<SpotifyGenNHibernate.EN.Spotify.CancionEN>();
                        foreach (int item in p_cancion) {
                                SpotifyGenNHibernate.EN.Spotify.CancionEN en = new SpotifyGenNHibernate.EN.Spotify.CancionEN ();
                                en.IdCancion = item;
                                colaReproduccionEN.Cancion.Add (en);
                        }
                }
                if (p_usuario != null) {
                        colaReproduccionEN.Usuario = new SpotifyGenNHibernate.EN.Spotify.UsuarioEN ();
                        colaReproduccionEN.Usuario.Nombre = p_usuario;
                }
                //Call to ColaReproduccionCAD

                oid = _IColaReproduccionCAD.CrearColaReproduccion (colaReproduccionEN);
                return oid;
        }

        public void BorrarColaReproduccion (int IdCola)
        {
                _IColaReproduccionCAD.BorrarColaReproduccion (
                        IdCola

                        );
        }

        public void AñadirCancion (int p_ColaReproduccion_OID, System.Collections.Generic.IList<int> p_cancion_OIDs)
        {
                //Call to ColaReproduccionCAD

                _IColaReproduccionCAD.AñadirCancion (p_ColaReproduccion_OID, p_cancion_OIDs);
        }
        public void BorrarCancion (int p_ColaReproduccion_OID, System.Collections.Generic.IList<int> p_cancion_OIDs)
        {
                //Call to ColaReproduccionCAD

                _IColaReproduccionCAD.BorrarCancion (p_ColaReproduccion_OID, p_cancion_OIDs);
        }
        }
}
